In distributed systems, the leader election problem stems from the Consensus problem. Consensus is the process of agreeing on one result among a group of participants. The leader election problem is difficult to solve because participants (or their communication media) can experience failures.
As the number of nodes (n) grows, network chatter increases by n2. So, if the number of nodes grows by 10, then chatter grows by 100. Therefore what is needed is a solution that addresses the Leader Election problem that minimizes network chatter.
Certain solutions known in the art involve synchronization of the clocks of all nodes so that all of the clocks reflect a synchronized, absolute time. This and other solutions involve several processes, subprocesses and rounds to elect a leader, which are cumbersome and inefficient.
Previous solutions exhibit a high probability of “bad” election collision, which is when two or more elections have started so close in time to each other that no quorum could be reached in order to finish the election. Moreover, previous solutions also do not guarantee that only a single leader is elected. Thus, what is needed is a system that minimizes bad election collision and guarantees that a single leader is elected.
Accordingly, what are needed are fast, efficient and simple systems and methods to guarantee the election of a single leader in simple topologies while minimizing network chatter so that when faults occur, recovery is substantially seamless.